Skip to content

feat(mwl): Implement MWL-RS proposal#27

Merged
nickamzol merged 2 commits into
UMEssen:mainfrom
mbits-imaging:mwwl-proposal
Jan 28, 2026
Merged

feat(mwl): Implement MWL-RS proposal#27
nickamzol merged 2 commits into
UMEssen:mainfrom
mbits-imaging:mwwl-proposal

Conversation

@feliwir

@feliwir feliwir commented Jan 3, 2025

Copy link
Copy Markdown
Contributor

This implements the MWL-RS proposal that was recently opened. See https://www.dicomstandard.org/news-dir/current/docs/sups/sup246.pdf

I'll create this PR as a draft, since the proposal is still work in progress and some things were unclear for me during implementation. However someone else might find this useful.

The service overlaps mostly with QIDO-RS

@github-advanced-security github-advanced-security AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clippy found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

@luckfamousa luckfamousa requested a review from nickamzol July 31, 2025 10:21
@nickamzol nickamzol added backend:dimse This issue affects the DIMSE backend service:mwl-rs This issue affects the MWL-RS service. labels Sep 16, 2025
Comment thread src/backend/dimse/mwl.rs Fixed
Comment thread src/backend/dimse/mwl.rs Fixed
Comment thread src/backend/dimse/mwl.rs Fixed
Comment thread src/backend/dimse/mwl.rs Fixed
@feliwir

feliwir commented Jan 26, 2026

Copy link
Copy Markdown
Contributor Author

Since this supplement of the standard we might be able to merge it @nickamzol ?
The MPPS part is still missing, but i have no worklist server available i can test against

@feliwir feliwir marked this pull request as ready for review January 26, 2026 10:14

@nickamzol nickamzol left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've tested this feature with the worklists plugin for Orthanc and can confirm that the MWL service works.

Thanks!

Comment thread src/backend/mod.rs
wado: Some(Box::new(S3WadoService::new(&config))),
stow: None,
}
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs mwl for the S3 backend.

Suggested change
Self {
qido: None,
wado: Some(Box::new(S3WadoService::new(&config))),
stow: None,
mwl: None,
}

Comment thread src/backend/dimse/mwl.rs
Comment on lines +35 to +36
// There are always at least 10 attributes + the query retrieve level
let mut attributes = Vec::with_capacity(11);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capacity can be increased to 24 as we have 23 tags in WORKITEM_SEARCH_TAGS.

Suggested change
// There are always at least 10 attributes + the query retrieve level
let mut attributes = Vec::with_capacity(11);
// There are always at least 23 attributes + the query retrieve level
let mut attributes = Vec::with_capacity(24);

@nickamzol nickamzol merged commit 7b32335 into UMEssen:main Jan 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend:dimse This issue affects the DIMSE backend service:mwl-rs This issue affects the MWL-RS service.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants